import { IPSAppRedirectView } from './ipsapp-redirect-view';
import { IPSAppViewRef } from './ipsapp-view-ref';
import { PSAppViewImpl } from './psapp-view-impl';

export class PSAppRedirectViewImpl extends PSAppViewImpl implements IPSAppRedirectView {
  protected redirectpsappviewrefs: IPSAppViewRef[] | null = null;

  getRedirectPSAppViewRefs(): IPSAppViewRef[] | null {
    if (this.redirectpsappviewrefs == null) {
      this.redirectpsappviewrefs = this.fillChildListModel(this.M.getRedirectPSAppViewRefs, 'app.view.IPSAppViewRef') as IPSAppViewRef[];
    }
    return this.redirectpsappviewrefs;
  }

  get redirectPSAppViewRefs(): IPSAppViewRef[] | null {
    return this.getRedirectPSAppViewRefs();
  }

  findRedirectPSAppViewRef(objKey: any): IPSAppViewRef | null {
    return this.getPSModel5('app.view.IPSAppViewRef', this.getRedirectPSAppViewRefs(), objKey) as IPSAppViewRef;
  }

  get enableDP(): boolean {
    return this.M.enableDP;
  }

  get enableWF(): boolean {
    return this.M.enableWF != null ? this.M.enableWF : false;
  }

  get redirectView(): boolean {
    return this.M.redirectView;
  }

  get cls(): string {
    return 'PSAppRedirectViewImpl';
  }

  instanceof(cls: string): boolean {
    if (cls == 'app.view.IPSAppRedirectView') return true;
    return super.instanceof(cls);
  }
}
